import math

# 配置
原始页数 = 17

# 开始
页数 = math.ceil(原始页数 / 4) * 4  # 补足到4的倍数
print(f"原始顺序(自动补足): ")
print(list(range(1, 原始页数 + 1)) + ["空"] * (页数 - 原始页数))
print()

# 标准小册子排序算法
目标文件 = []
for 纸张 in range(1, (页数 // 4) + 1):  # 这里会生成多个纸张
    # 每张纸的4个页码位置：正面左、正面右、背面左、背面右
    目标文件.extend(
        [
            页数 - 2 * (纸张 - 1),  # 第一面左
            2 * (纸张 - 1) + 1,  # 第一面右
            2 * (纸张 - 1) + 2,  # 第二面左
            页数 - 2 * (纸张 - 1) - 1,  # 第二面右
        ]
    )

# 可视化打印顺序（仅显示有效页码）
有效序列 = [x if x <= 原始页数 else "空" for x in 目标文件]
print(f"打印顺序:")
print(有效序列)
print()
